package com.demo.jzoffer2;

import org.junit.Test;

import java.util.HashSet;

/**
 * @author gy
 * @date 2023/01/12
 */
public class Test0118_01 {

    /**
     * 从若干副扑克牌中随机抽 5 张牌，判断是不是一个顺子，即这5张牌是不是连续的。
     * 2～10为数字本身，A为1，J为11，Q为12，K为13，而大、小王为 0 ，可以看成任意数字。A 不能视为 14。
     *
     * 输入: [1,2,3,4,5]
     * 输出: True
     *
     * 输入: [0,0,1,2,5]
     * 输出: True
     * @param nums
     * @return
     */
    public boolean isStraight(int[] nums) {
        HashSet<Integer> set = new HashSet<>();
        int min = 14 , max = 0;
        for (int num : nums) {
            if (num == 0){ // 跳过大小王
                continue;
            }
            // 打擂台找最大最小值
            max = Math.max(num, max); // 找到最大牌
            min = Math.min(num, min); // 找到最小牌
            if (set.contains(num)){ // 若有重复的牌，直接返回
                return false;
            }
            set.add(num);
        }
        return max - min < 5;
    }


    @Test
    public void m1() {

    }

    @Test
    public void m2(){

    }

}
